The present invention relates to streaming effects (e.g., lighting) to a peripheral device (e.g., keyboard).
In corded peripheral devices such as keyboards, full duplex communication is possible, allowing for configuration data to be sent to from the host to the peripheral device while reporting data from the devices is simultaneously being sent back to the host. Such a communication arrangement is preferable in high-performance applications such as gaming because the transmission of configuration data cannot interfere with or pre-empt the reporting of data back from the peripheral device. If this were not the case, during configuration of the device (e.g., the setting of back lighting) data coming from the device (e.g., key activations) could be delayed or even lost, leading to a degraded user experience.
Some Logitech corded gaming keyboards provide the user with the ability to manage and customize animated lighting effects or choose from 16 preset lighting effects. The effects can be applied with a lighting effect array specifying the color for each key in a period of time.
For wireless devices, the issue is more complex. In some cases, two way communication with the peripheral device is done over a single wireless channel. In such cases configuration data sent to the device must be time multiplexed with reporting data sent from the device. If the configuration data is too large, it can consume a large amount of the bandwidth of the channel, leading to fewer time slots being available for data reporting. For existing lighting schemes, where keyboard keys are lit, typically a command needs to be sent for each light emitter. Furthermore, other wireless devices may cause interference on the channel further increasing the risk of lost and/or corrupted reporting data from the device. Accordingly, there exists a need for a system that can provide for improved wireless communication between a host and configurable peripheral device.